/*************************************************************************
    > File Name: progressbar.c
    > Author: ma6174
    > Mail: ma6174@163.com 
    > Created Time: Sun 16 Feb 2025 04:34:43 PM CST
 ************************************************************************/

#include"Progressbar.h"
#include<string.h>
#include<unistd.h>
#define length 101                                //缓冲区长度
#define Style '#'                                 //缓冲区填入的字符#

const char * lable = "|/-\\";                     //输出反斜杠’\\'

void ProcBar()
{
	 char bar[length];                            //缓冲区大小
	 memset(bar,'\0',sizeof(bar));                //清空缓冲区，都设置为0	
     int cnt = 0;                                 
	 int len = strlen(lable);                     //strlen计算字符串长度，以'\0'结尾，得到len=4，四个字符|/-\

	while(cnt<=100)                               //需要加载100%
	{
		printf("[%-100s][%3d%%][%c]\r",bar,cnt,lable[cnt%len]);        //lable指向字符串，                
		//打印，%-100s表示左对的，长度为100，打印百分号%%，\r表示回车，回到当前行的开头,%c打印字符
		fflush(stdout);                           //强制冲刷缓冲区
		bar[cnt++]=Style;                         //缓冲区放入新的字符#，然后累加
		usleep(20000);                            //usleep以微秒为单位，需加头文件<unistd.h>
	}
	printf("\n");
}

